@TOC
之前简单的介绍了EasyGui这个东西 那么这节就来讲一讲它里面的更好玩的地方
一、默认参数和关键字参数
1.1修改默认参数
对于EasyGui的所有对话框而言,前两个参数都是消息主题和对话框标题
对话框标题默认是一个空字符串,而消息主题通常会有一个简单的默认值。
默认参数使得可以尽可能去地少设置参数,例如msgbox()函数标题部分的参数是可选的
因此来调用msgbox()函数的时候只需要指定一个消息参数即可,例如:
1 | import easygui as eg |
但是如果我们想让它变得更具体一点的话,可以指定标题参数和消息参数,例如:
1 | import easygui as eg |
程序实现如图:
这样修改默认参数就成功了
1.2使用关键字参数
调用EasyGui函数还可以使用关键字参数,现在假设需要使用一个按钮组件,但不想指定标题参数(第二个参数),仍可以使用关键字参数的方法指定choices参数(第三个参数)的值,如下:
1 | choices=["找到女朋友","拿到好成绩","无欲无求"] |
程序实现如图:
二、使用按钮组件
2.1 EasyGui在buttonbox()上的函数的调用
(1)msgbox()
1 | msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None) |
msgbox() 显示一个消息和提供一个 “OK” 按钮,可以指定任意的消息和标题,甚至可以重写 “OK” 按钮的内容。
重写 “OK” 按钮最简单的方法是使用关键字参数:
1 | import easygui as eg |
程序实现如下:
(2)ccbox()
1 | ccbox(msg='Shall I continue?', title=' ', choices=('C[o]ntinue', 'C[a]ncel'), image=None, default_choice='C[o]ntinue', cancel_choice='C[a]ncel') |
ccbox()函数提供一个选择:C[0]ntinue或者C[a]ncel,并相应返回True或者False.
注意:“C[o]ntinue” 中的 [o] 表示快捷键,也就是说当用户在键盘上敲一下 o 字符,就相当于点击了 “C[o]ntinue” 按键。
(3)ynbox()
1 | ynbox(msg='Shall I continue?', title=' ', choices=('[<F1>]Yes', '[<F2>]No'), image=None, default_choice='[<F1>]Yes', cancel_choice='[<F2>]No') |
跟 ccbox() 一样,只不过这里默认的 choices 参数值不同而已,[] 表示将键盘上的 F1 功能按键作为 “Yes” 的快捷键使用。
(4)buttonbox()
1 | buttonbox(msg='', title=' ', choices=('Button[1]', 'Button[2]', 'Button[3]'), image=None, images=None, default_choice=None, cancel_choice=None, callback=None, run=True) |
可以使用 buttonbox() 定义自己的一组按钮,buttonbox() 会显示一组由你自定义的按钮。
当用户点击任意一个按钮的时候,buttonbox() 返回按钮的文本内容。
如果用户点击取消或者关闭窗口,那么会返回默认选项(第一个选项)。
1 | import easygui as eg |
程序实现如下:
(5)indexbox()
1 | indexbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None, default_choice='Yes', cancel_choice='No') |
基本跟 buttonbox() 一样,区别就是当用户选择第一个按钮的时候返回序号 0, 选择第二个按钮的时候返回序号 1。
(6)boolbox()
1 | boolbox(msg='Shall I continue?', title=' ', choices=('[Y]es', '[N]o'), image=None, default_choice='Yes', cancel_choice='No') |
如果第一个按钮被选中则返回 True,否则返回 False。